<template>
  <div class="person">
    <ul>
      <li v-for="person in list" :key="person.id">
        {{ person.name }} -- {{ person.age }}
      </li>
    </ul>
  </div>
</template>

<script setup lang="ts" name="Person">
import { defineProps,withDefaults } from 'vue';
import { type persons } from '../types/index'
//接收list
// defineProps(['list'])

//接收List+限制类型
// defineProps<{ list: persons }>()

//接收List+限制类型+限定必要性
// defineProps<{ list?:persons }>()

//接收List+限制类型+限定必要性+指定默认值
withDefaults(defineProps<{ list?:persons }>(),{
  list:()=>[{id:'01',name:'zhangsan',age:18}]//默认值要用一个函数返回值
})

//接收a，同时将props保存起来
// let x = defineProps(['a'])
// console.log(x.a)
 
</script>

<style scoped>
.person {
    /* 背景颜色 */
    background-color: skyblue;
    /* 阴影 */
    box-shadow: 0 0px 10px;
    /* 圆角 */
    border-radius: 4px;
    padding: 20px; /* 内边距 */
  }
button { 
    margin: 0 5px;
}
</style>


